Persist network details when they change.
authorEwan Mellor <ewan@xensource.com>
Mon, 25 Dec 2006 16:42:24 +0000 (16:42 +0000)
committerEwan Mellor <ewan@xensource.com>
Mon, 25 Dec 2006 16:42:24 +0000 (16:42 +0000)
Signed-off-by: Ewan Mellor <ewan@xensource.com>
tools/python/xen/xend/XendNetwork.py
tools/python/xen/xend/XendNode.py

index 7db08805d9b3aeb751edf5113d6b57ff4785898f..42d421d5ebfca6cdabb138822161f2efcfe31f34 100644 (file)
@@ -66,17 +66,21 @@ class XendNetwork:
 
     def set_name_label(self, new_name):
         self.name_label = new_name
+        XendNode.instance().save_networks()
 
     def set_name_description(self, new_desc):
         self.name_description = new_desc
+        XendNode.instance().save_networks()
 
     def set_default_gateway(self, new_gateway):
         if re.search('^\d+\.\d+\.\d+\.\d+$', new_gateway):
             self.default_gateway = new_gateway
+            XendNode.instance().save_networks()
 
     def set_default_netmask(self, new_netmask):
         if re.search('^\d+\.\d+\.\d+\.\d+$', new_netmask):
             self.default_netmask = new_netmask
+            XendNode.instance().save_networks()
 
     def get_VIF_UUIDs(self):
         return []
index 3e3ae93b7b122c6874672a6c70c4cbec2ebd2b7f..503381804527575f7e7a8c7647d3537fde749c21 100644 (file)
@@ -135,14 +135,17 @@ class XendNode:
         pif_records = dict([(k, v.get_record(transient = False))
                             for k, v in self.pifs.items()])
         self.state_store.save_state('pif', pif_records)
-        net_records = dict([(k, v.get_record(transient = False))
-                            for k, v in self.networks.items()])
-        self.state_store.save_state('network', net_records)
 
+        self.save_networks()
 
         sr_record = {self.sr.uuid: self.sr.get_record()}
         self.state_store.save_state('sr', sr_record)
 
+    def save_networks(self):
+        net_records = dict([(k, v.get_record(transient = False))
+                            for k, v in self.networks.items()])
+        self.state_store.save_state('network', net_records)
+
     def shutdown(self):
         return 0